/*
 * @Date: 2023-03-09 13:54:49
 * @LastEditTime: 2023-04-14 20:16:06
 * @FilePath: /nlk/src/api/module/pagingList.ts
 * 介绍:列表接口
 */
import { defaHttp, ApiRes, Paging } from "../index";

/**申购(理财)记录 */
export async function apiApplyBuyLogs(
  data: Paging.Req
): Promise<ApiRes<Paging.Data<ApplyBuyLogs.ResItem[]>>> {
  const res = await defaHttp.post<ApiRes<Paging.Data<ApplyBuyLogs.ResItem[]>>>(
    "/storage/index",
    { limit: 20, ...data }
  );
  return res;
}

/**申购(理财)记录 */
export namespace ApplyBuyLogs {
  export interface ResItem {
    /**自动复投 [0'客户关闭',1'客户开启',2'管理员开启',3'管理员关闭']*/
    auto_repeat: number;
    /**用户质押时输入的金额 */
    base_number: string;
    tokens: string;
    /**
     * 申购时间，示例：2023-03-29 10:56:02
     */
    created_at: string;
    /**
     * 质押天数，示例：360
     */
    day: number;
    /**
     * 示例：1
     */
    id: number;
    /**
     * 年华，需要乘以100显示
     */
    multiple: string;
    /**
     * 申购金额USDT，示例：50.0000
     */
    number: string;
    /**
     * 示例：-
     */
    store: Store;
    /**
     * 质押产品ID，示例：3
     */
    store_id: number;
    /**
     * 累计收益，示例：0
     */
    total_reward: number;
    /**
     * 昨日收益，示例：0
     */
    yesterday_reward: number;
  }

  /**
   * 示例：-
   */
  export interface Store {
    /**
     * 示例：3
     */
    id: number;
    /**
     * 产品名称，示例：USDT
     */
    name: string;
  }
}
/**奖金记录 */
export async function apiBonusLogs(
  data: Paging.Req
): Promise<ApiRes<Paging.Data<BonusLogs.ResItem[]>>> {
  const res = await defaHttp.post<ApiRes<Paging.Data<BonusLogs.ResItem[]>>>(
    "/money/reward",
    { limit: 20, ...data }
  );
  return res;
}

/**奖金记录 */
export namespace BonusLogs {
  export interface ResItem {
    /**
     * 获奖比例，示例：20
     */
    bili: number;
    /**
     * 币种信息，示例：-
     */
    coin: BaseCoin;
    /**
     * 币种ID，示例：5
     */
    coin_id: number;
    /**
     * 获奖时间，示例：2021-12-01 15:56:28
     */
    created_at: string;
    /**
     * 示例：30
     */
    freed_id: number;
    /**
     * 示例：14
     */
    id: number;
    /**
     * 得到金额，示例：0.0075
     */
    money: string;
    /**
     * 产生奖金的用户，示例：-
     */
    produce: Produce;
    /**
     * 示例：12
     */
    produce_id: number;
    /**
     * 说明 备注，示例：动态奖金
     */
    remark: string;
    /**
     * 类型：1动态奖；2：加权分红
     */
    type: number;
    /**
     * 示例：2021-12-01 15:56:28
     */
    updated_at: string;
    /**
     * 示例：9
     */
    user_id: number;
  }

  /**
   * 产生奖金的用户，示例：-
   */
  export interface Produce {
    /**
     * 示例：12
     */
    id: number;
    /**
     * 示例：9UNMgXmJyJ
     */
    name: string;
  }
}

/**释放明细记录 */
export async function apiFreedLogs(
  data: Paging.Req
): Promise<ApiRes<Paging.Data<FreedLogs.ResItem[]>>> {
  const res = await defaHttp.post<ApiRes<Paging.Data<FreedLogs.ResItem[]>>>(
    "/money/freed",
    { type: 0, limit: 20, ...data }
  );
  return res;
}

/**释放明细记录 */
export namespace FreedLogs {
  export interface ResItem {
    /**
     * 动态奖金总额，示例：0.0375
     */
    active_money: string;
    /**
     * 币种信息，示例：-
     */
    coin: null;
    /**
     * 示例：2021-11-11 16:40:53
     */
    created_at: string;
    /**
     * 得到比例，示例：0.60
     */
    get_proportion: string;
    /**
     * 示例：22
     */
    id: number;
    /**
     * 示例：0
     */
    is_actived: number;
    /**
     * 示例：0
     */
    is_recived: number;
    /**
     * 释放实际得到金额，示例：0.0643
     */
    money: string;
    /**
     * 分享总金额，示例：0.0053
     */
    share_money: string;
    /**
     * 关联的质押产品等级，示例：-
     */
    store: Store;
    /**
     * 示例：1
     */
    store_id?: number;
    /**
     * 释放总金额，示例：0.1071
     */
    total_money?: string;
    /**
     * 示例：2021-11-11 16:40:53
     */
    updated_at?: string;
    /**
     * 示例：12
     */
    user_id?: number;
    /**
     * 存储表对应的id，示例：5
     */
    user_storages_id?: number;
  }

  /**
   * 关联的质押产品等级，示例：-
   */
  export interface Store {
    /**
     * 质押天数，示例：7
     */
    day: number;
    /**
     * 示例：1
     */
    id: number;
    /**
     * 示例：第一等级
     */
    name: string;
  }
}

/**提币记录 */
export async function apiWithdrawCoinLogs(
  data: Paging.Req
): Promise<ApiRes<Paging.Data<WithdrawCoinLogs.ResItem[]>>> {
  const res = await defaHttp.post<
    ApiRes<Paging.Data<WithdrawCoinLogs.ResItem[]>>
  >("/money/withdraw", { limit: 20, ...data });
  return res;
}

/**提币记录 */
export namespace WithdrawCoinLogs {
  export interface ResItem {
    /**
     * 实际转账金额，示例：9.90
     */
    actual_number?: string;
    /**
     * 币种信息，示例：-
     */
    coin?: BaseCoin;
    /**
     * 币种ID，示例：1
     */
    coin_id?: number;
    /**
     * 示例：-
     */
    created_at?: null;
    /**
     * 审核时间，示例：-
     */
    deal_time?: null;
    /**
     * 手续费，示例：0.10
     */
    fee?: string;
    /**
     * 示例：6
     */
    id?: number;
    /**
     * 提币数量，示例：10.0000
     */
    number?: string;
    /**
     * 说明 备注，示例：-
     */
    remark?: null;
    /**
     * 状态，示例：0
     */
    status?: number;
    /**
     * 状态 说明，示例：待审核
     */
    status_text?: string;
    /**
     * 提币地址，示例：645646464642sdfsdfsfsfs
     */
    to?: string;
    /**
     * 交易标识，示例：-
     */
    txid?: null;
    /**
     * 示例：2021-12-01 14:56:21
     */
    updated_at?: string;
    /**
     * 示例：9
     */
    user_id?: number;
  }
}

/**闪兑记录 */
export async function apiExchangeLogs(
  data: Paging.Req
): Promise<ApiRes<Paging.Data<ExchangeLogs.ResItem[]>>> {
  const res = await defaHttp.post<ApiRes<Paging.Data<ExchangeLogs.ResItem[]>>>(
    "/exchange/logs",
    { limit: 20, ...data }
  );
  return res;
}

/**闪兑记录 */
export namespace ExchangeLogs {
  export interface ResItem {
    /**
     * 实际获得数量，示例：4.9850
     */
    actual_number: string;
    /**
     * 示例：2021-12-02 10:57:34
     */
    created_at: string;
    /**
     * 示例：1
     */
    from_id: number;
    /**
     * 从哪种币种，示例：-
     */
    fromcoin: BaseCoin;
    /**
     * 示例：1
     */
    id: number;
    /**
     * 兑换的数量，示例：10.0000
     */
    number: string;
    /**
     * 手续费，示例：0.0150
     */
    poundage: string;
    /**
     * 示例：5
     */
    to_id: number;
    /**
     * 兑换成哪种币种，示例：-
     */
    tocoin: BaseCoin;
    /**
     * 示例：2021-12-02T02:54:54.000000Z
     */
    updated_at: string;
    /**
     * 示例：9
     */
    user_id: number;
  }
}

/**充币记录 */
export async function apiTopUpCoinLogs(
  data: Paging.Req
): Promise<ApiRes<Paging.Data<TopUpCoinLogs.ResItem[]>>> {
  const res = await defaHttp.post<ApiRes<Paging.Data<TopUpCoinLogs.ResItem[]>>>(
    "/recharge/logs",
    { limit: 20, ...data }
  );
  return res;
}

/**充币记录 */
export namespace TopUpCoinLogs {
  export interface ResItem {
    /**
     * 实际到账金额，示例：100.00
     */
    actual_number?: string;
    /**
     * 示例：56
     */
    chainId?: number;
    /**
     * 示例：-
     */
    coin?: BaseCoin;
    /**
     * 示例：5
     */
    coin_id?: number;
    /**
     * 示例：2021-12-08 16:31:47
     */
    created_at?: string;
    /**
     * 示例：0x3043ca25d7616d58d4bb27546dec4b2a617fa958
     */
    from?: string;
    /**
     * 示例：25
     */
    id?: number;
    /**
     * 1已确认；0确认中；2：确认失败
     */
    is_confirm?: number;
    /**
     * 示例：已确认
     */
    is_confirm_text?: string;
    /**
     * 1已充值；0待充值;2失败
     */
    is_recharge?: number;
    /**
     * 示例：已充值
     */
    is_recharge_text?: string;
    /**
     * 示例：100.00
     */
    number?: string;
    /**
     * 示例：充值成功
     */
    remark?: string;
    /**
     * 交易标识，示例：0x0c7ee5dd4185053b24bd629bcac9f04e60fbc8a6c39564b2f7cd9e28b7930e54
     */
    txid?: string;
    /**
     * 示例：2021-12-08 17:11:42
     */
    updated_at?: string;
    /**
     * 示例：12
     */
    user_id?: number;
  }
}
